Mutually exclusive options in electronic forms

ABSTRACT

Systems and methods enabling creation and/or use of an electronic form capable of allowing a user to select from mutually exclusive options without the electronic form being in an invalid state are described. One of the described electronic forms remains valid to its schema by atomic swapping of data substructures corresponding to the form&#39;s mutually exclusive options. A method and a user interface for creating some of these electronic forms are also described.

TECHNICAL FIELD

This invention relates to mutually exclusive options in electronicforms.

BACKGROUND

Extensible markup language (XML) is increasingly becoming the preferredformat for transferring data. XML is a tag-based hierarchical languagethat is extremely rich in terms of the data that it can be used torepresent. For example, XML can be used to represent data spanning thespectrum from semi-structured data (such as one would find in aword-processing document) to generally structured data (such as thatwhich is contained in a table). XML is well-suited for many types ofcommunication including business-to-business and client-to-servercommunication.

Data represented in XML is often created and retained in electronicdocuments, such as electronic forms. An electronic form that is writtenin XML typically is governed by an XML schema (XSD) and can be alteredby applying an eXtensible Style-sheet Language Transformation (XSLT)file on the form. For more information on XML, XSLT, and XSD (schemas),the reader is referred to the following documents which are the work of,and available from the W3C (World Wide Web consortium): XML Schema Part2: Datatypes; XML Schema Part 1: Structures; and XSL Transformations(XSLT) Version 1.0; and XML 1.0 Second Edition Specification.

In some instances, a schema governing an electronic form may define setsof information that are syntactically mutually exclusive, such as aschema defining an address as either an international address or a U.S.address, but not both at the same time. The schema may define these setsto enforce a mutual exclusivity.

Mutual exclusivity may be a useful way in which to govern sets ofinformation that may potentially be entered into an electronic form,such as when a user enters either a U.S. mailing address or aninternational mailing address for a particular person, by permittingonly one set of information when only one set is useful or possible(e.g., when a person can have only one address).

Some electronic forms enable users to enter information into bothmutually exclusive options at the same time but in so doing these formsare not respecting throughout the editing process the syntax defined inthe schema. In the ongoing example, these electronic forms may presenttwo groups of data-entry fields, one designed for entry of a U.S.address and the other designed for entry of an international address.The schemas governing these electronic forms, however, do not permitboth of these options to exist at once. Thus, the electronic forms maypresent both groups of data-entry fields but in doing so permit, atleast temporarily, the electronic form to be invalid to the form'sschema. If the form remains invalid, it can be useless.

To rectify this invalid state, a programmer may write script designed tofix the invalid state. If successful, this script may select a part ofthe form's data that should be retained and a part that should beremoved. But this script can require extensive time and programmingexperience to write. And in some cases, the invalid state is notproperly corrected by the script, causing the form to either remaininvalid, require a person to manually correct the invalidity, or permiterroneous data to be retained.

SUMMARY

Systems and/or methods (“tools”) enabling creation and/or use of anelectronic form capable of allowing a user to select from mutuallyexclusive options without the electronic form being in an invalid stateare described.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary architecture capable of facilitatingcreation and use of electronic forms.

FIG. 2 sets forth an exemplary flow diagram showing interactions betweencomponents of the architecture of FIG. 1.

FIG. 3 illustrates an exemplary domestic-address set of data-entryfields.

FIG. 4 illustrates a screen shot showing an exemplary option menudialog.

FIG. 5 illustrates an exemplary international-address set of data-entryfields.

FIG. 6 sets forth a flow diagram of an exemplary process for buildingmutually exclusive options.

FIG. 7 illustrates an exemplary form-design area having an exemplarynon-repeating container.

FIG. 8 illustrates the form-design area of FIG. 7 updated to show agraphical selection of two options placed within an option area of thenon-repeating container.

FIG. 9 illustrates the form-design area of FIG. 7 showing a graphicalselection of three options placed within an option area of an exemplaryrepeating container.

The same numbers are used throughout the disclosure and figures toreference like components and features.

DETAILED DESCRIPTION

Overview

Tools described below enable creation and/or use of an electronic formcapable of allowing a user to select from mutually exclusive optionswithout the electronic form being in an invalid state.

The tools may enable creation of these mutually exclusive options in anelectronic form graphically, such as through enabling a form designer tographically select components representing these options. By doing so,the tools enable form designers to quickly and easily create mutuallyexclusive options for electronic forms without needing to write scriptor have extensive programming experience.

Architecture

Referring to FIG. 1, an exemplary architecture 100 capable offacilitating creation and use of electronic forms is shown. Thearchitecture 100 comprises a display 102, one or more user-input devices104, and a computer 106. The user-input devices 104 comprise any deviceallowing a computer to receive a designer's preferences, such as akeyboard 108, other device(s) 110 (e.g., a touch screen, avoice-activated input device, a track ball, etc.), and a mouse 112. Thecomputer comprises a processing unit 114 capable of executingcomputer-readable media 116.

The computer-readable media comprises an operating system 118 and one ormore applications stored in memory and executable by the processingunit. One particular application is a design application 120, which mayallow a form designer to create mutually exclusive options for anelectronic form with little or no programming skill. The designapplication is capable of providing a visualwhat-you-see-is-what-you-get (WYSIWYG) user interface 122 that, in oneembodiment, enables designers to graphically construct mutuallyexclusive options by visually selecting graphics and arranging them in amanner that can be intuitive and straight forward.

An electronic-form template 124 is also shown. This template comprises aschema 126 governing electronic form 128, and option logic 130. Theoption logic may be part of or separate from the template. Theelectronic form comprises a data structure 132 and a form view 134. Thedata structure may be arranged hierarchically and comprise nodes. Thedata structure may also be transformed to render the form view, whichenables data entry into the electronic form. In one embodiment, the datastructure comprises eXtensible Markup Language (XML) and can betransformed with an extensible Style-sheet Language Transformation(XSLT) to produce HyperText Machine Language (HTML) that is viewable andthrough which a user can enter information.

Mutually Exclusive Options

Before setting out exemplary processes for building mutually exclusiveoptions into electronic forms, the following discussion describesexamples of these options and how they may be used.

Generally, mutually exclusive options in the context of electronic formscomprise a set of options each of which excludes the other. Thesemutually exclusive options have many applications in electronic forms.Mailing addresses that are either domestic or international, travel thatis either by air or car, or a payment method that is either throughpaper billing or electronic wire transfer, for instance, each may be aset of mutually exclusive options.

Often, this mutual exclusivity is tied to differences in how the datafor the options is entered or stored. An international address, forinstance, often does not have a ZIP code, while a domestic (U.S.)address does. Air travel may need a data-entry field and correspondingdata structure in the electronic form for a frequent flier programnumber, while car travel does not. Paper billing may need a physicaladdress, while an electronic wire transfer instead may need a bankdeposit number and password. Thus, mutually exclusive options inelectronic forms are useful to users but often need to be entered andstored in different ways.

To enable information to be entered and stored in different ways, eachmutually exclusive option may correspond to and be represented in anelectronic form's data structure by a data substructure (e.g., one ormore nodes of a tree data structure). Because the options represented bythese substructures are mutually exclusive, a schema defining the syntaxof the data for the electronic form will deem the electronic forminvalid if more than one of these substructures is present in the form'sdata structure at one time. If the substructures for the mutuallyexclusive options are designed to be present in a same portion of theelectronic form's data structure, the schema can require that only oneof data substructures occupy that portion at once for the electronicform to remain valid. Thus, in that portion of the data structure a datasubstructure corresponding to only one mutually exclusive option ispermitted. If, for example, the portion is designed to store a mailingaddress, which may either be domestic or international, the datasubstructure for the domestic address or the international address maybe present but not both.

To show and enable entry into a data substructure, the electronic formmay be represented with a form view that is a transformation of the datastructure. If this is the case, to present data-entry fields for each ofthe mutually exclusive options at once (described in the Backgroundsection above), the data structure may need to contain all of theoptions at once. But in so doing, the electronic form will be invalid toits governing schema because it contains two or more mutually exclusiveoptions at once.

Electronic forms described and built herein, however, are capable ofenabling a user to enter information into one of multiple, mutuallyexclusive options without the electronic form being invalid.

Exemplary User Interaction With Mutually Exclusive Options

These electronic forms, in conjunction with other application(s)described herein or otherwise, are capable of enabling a user to selectone of the mutually exclusive options in which to enter information. Theuser can do so passively, by accepting a default option, or actively byswapping a default option with another option or selecting an optionfrom a list of options. Through this swapping, a user is enabled toalter the data structure of the electronic form while in a modepermitting entry of data into the electronic form.

As an example of a user's interaction with this electronic form,consider FIG. 2. There an exemplary flow diagram showing interactionsbetween a user and components of architecture 100 of FIG. 1 are shown.In this illustrated embodiment, a user is presented with form view 134,which is a transformation of electronic form 128's form data structure132.

This form view is set forth in greater detail in FIG. 3, where adomestic address set of data-entry fields 302 is shown. This form iscapable of accepting entry of information from a user into one of twomutually exclusive options. One of these options is shown with thedomestic address fields. The other is not yet shown but can berepresented by an international-address set of data-entry fields. Eachof these mutually exclusive options map one-to-one with a datasubstructure capable of residing in the form's data structure 132. Thesedata substructures may each separately be valid to schema 126, shown inFIG. 2.

The domestic address fields are, in this embodiment, an XSLTtransformation into HTML of the data substructure of thedomestic-address mutually exclusive option. These fields are shownexclusively because their corresponding data substructure is the onlymutually exclusive option currently part of the form data structure. Byhaving only one mutually exclusive option's data structure as part ofthe form data structure, the form data structure is valid to theelectronic form's schema.

The user can begin entry of information into the domestic addressfields, thereby passively selecting this mutually exclusive optionrather than the international-address mutually exclusive option.

In the illustrated embodiment of FIG. 2, however, the user selects toswap the domestic-address mutually exclusive option with theinternational-address mutually exclusive option. This is marked asaction 1, entitled “User Selects Option”.

This selection is shown visually in FIG. 4, which shows screen shot 400and an option menu dialog 402. Through selecting aninternational-address option 404, the user selects that the domesticaddress option be swapped with the international address option. Themenu dialog 402 describes the operation that will actually be performed;that of replacing the domestic address fields with the internationaladdress fields.

Responsive to the user's selection, option logic 130 of FIG. 2 swaps, asan atomic operation, the data substructure of the domestic-addressmutually exclusive option with that of the international-addressmutually exclusive option. In doing so, the option logic can communicatewith the electronic form template and the schema to determine what ispermitted by the schema, the precise syntax for the data structures, andthe like. This swapping by the option logic is marked as action 2,entitled “Swap Option Data Substructure”, and is shown with a dashedlined representing possible interaction with the electronic formtemplate and the form's schema.

In the illustrated embodiment, the option logic atomically swaps thedata substructure for one mutually exclusive option with the datasubstructure of another mutually exclusive option, rather than addingboth and deleting one, or deleting both and adding one back in. The datasubstructures can be designed to map one-to-one with each mutuallyexclusive option, which enables one to be swapped with another in anatomic operation. In doing so, the electronic form remains valid to itsschema. It does not have to transition through an invalid state. Anotherpotential benefit of atomic swapping is that the user may not have toview the data-entry fields of all of the mutually exclusive options atonce. This allows the form view to be less cluttered. Still anotherbenefit of atomic swapping is that a user may be permitted onlystructurally valid interactions with the electronic form. This mayreduce the probability of erroneous data being retained by theelectronic form.

Following the swap of the data substructures, the change is reflected inthe form view. This change can be reflected by transforming the new datasubstructure added to the form data structure (e.g., action 3, entitled“Transform Swapped Data Substructure” of FIG. 2) or transforming all ofthe form data structure, for instance. Also, responsive to this swap,the option menu dialog of FIG. 4 may show a corresponding new option, inthis case for replacing the international-address fields with thedomestic-address option (not shown).

Continuing the illustrated embodiment, the change to the form view isshown with the swapping of the domestic address set of data-entry fieldswith an international address set of data-entry fields 502 shown in FIG.5. These fields enable a user to enter an international address into theelectronic form without the form being invalid.

Building Mutually Exclusive Options

Referring to FIG. 6, an exemplary process 600 for building mutuallyexclusive options is shown. The process 600 is illustrated as a seriesof blocks representing individual operations or acts performed bycomponents of architecture 100, such as design application 120 and/orits user interface 122. This and other processes described herein may beimplemented in any suitable hardware, software, firmware, or combinationthereof. In the case of software and firmware, these processes representsets of operations implemented as computer-executable instructions.

At block 602, the design application enables selection of a mutuallyexclusive option container. This container can be chosen by dragging anddropping it from one region of display 102 to another, for instance. Itcan also be chosen through a dialog menu or in other appropriate ways.This mutually exclusive option container may contain one set of optionsor an arbitrarily large number of sets of the same two or more options.In cases where the container is chosen to have multiple repeating sets,an eventual user of the electronic form may be enabled to select howmany times the sets repeat.

Responsive to receiving the selection, the design application presentsthe option container at block 604.

The design application also enables a user to select mutually exclusiveoptions at block 606. In the ongoing embodiment, the design applicationdoes so through an area in the presented container into which a formdesigner may place selected mutually exclusive options. This area in thecontainer provides an intuitive place in which a form designer can placehis or her selections, such as by dragging and dropping graphics oricons (e.g., components, data-entry fields, and/or nodes) representingmutually exclusive options.

To illustrate the ongoing embodiment, a form-design area 700 having anon-repeating container 702 (labeled “Choice Group”) is shown in FIG. 7.This non-repeating container comprises an option area 704 into which theform designer may graphically insert an option.

Returning to FIG. 6, a form designer selects options to be mutuallyexclusive, the selection of which is received by the design applicationat block 608. The form designer may be enabled to do so graphically bydragging and dropping mutually exclusive options, such as a domesticaddress option and an international address option, into the container.Alternatively or additionally, the form designer may be enabled to do soby dragging and dropping subcomponents into different areas in thecontainer, the subcomponents dropped into each different arearepresenting in sum a mutually exclusive option.

Referring to FIG. 8, the form-design area of FIG. 7 is updated to show agraphical selection of two options placed within option area 704 ofnon-repeating container 702. These options are a domestic address option802 and an international address option 804. Each of these mutuallyexclusive options may be represented by data-entry fields mirroring howthey will look to a user editing the electronic form or with othergraphics or icons. See, for example, the domestic-address andinternational-address data-entry fields shown in FIGS. 3 and 5,respectively.

Responsive to these selections, the design application builds thesemutually exclusive options into the electronic form at block 610. In sodoing, the design application may generate information capable ofinstructing a runtime application in how to perform editing for themutually exclusive options. Continuing the illustrated embodiment, thedesign application alters schema 126 to permit either of the mutuallyexclusive options chosen, but not both at once. To do so, the designapplication may add the following to the schema: <xsd:elementname=“group1”  <xsd:complextype>  <xsd:choice > <xsd:elementname=“group2”> <xsd:complexType> <xsd:sequence> </xsd:sequence></xsd:complexType>  </xsd:element> <xsd:element name=“group3”><xsd:complexType>  <xsd:sequence> </xsd:sequence> </xsd:complexType></xsd:element> </xsd:choice>  </xsd:complexType> </xsd:element>

In this embodiment, “group1” represents the option container, “group2”the domestic-address option, and the “group3” the international-addressoption.

If, however, a form designer places a repeating mutually exclusiveoption container in the form-design area, the following can be added tothe schema: <xsd:element name=“group1”  <xsd:complextype>  <xsd:choicemaxOccurs=“unbounded”> <xsd:element name=“group2”> <xsd:complexType><xsd:sequence> </xsd:sequence> </xsd:complexType>  </xsd:element><xsd:element name=“group3”>  <xsd:complexType> <xsd:sequence></xsd:sequence> </xsd:complexType> </xsd:element> </xsd:choice> </xsd:complexType> </xsd:element>

Consider, for example, repeating mutually exclusive options for legs ofa business trip. If a trip can have an arbitrary number of legs (sometrips may involve a lot of travel and stops) each of which is mutuallyexclusive, repeating these options to an arbitrary length can be veryuseful to a user of an electronic form. Assume that a user wishes toenter her trip from Seattle to Spokane, then to Boise, and back again.If a form designer chose three mutually exclusive options for each legto be in the electronic form, the form could have options of: air; car;and hotel. Thus, for a first leg, if each leg defaults to air travel,the user may simple enter her flight to Spokane. For the second leg, shemay swap the air option for a hotel option and enter her stay in aSpokane hotel. For the next leg, she may swap the air option for a carrental and enter the rental company, car model and so forth. For thenext leg, assume she stays in a Boise hotel and so swaps the air defaultfor a hotel option. For the last leg, she flies back to Seattle and soenters her airline carrier and related details.

By enabling a form designer to build a repeating set of mutuallyexclusive options, the tools enable creation of an electronic form thatpermits a heterogeneous list of arbitrary length or as long as permittedby the schema. And, each entry of this list may be one of the set ofmutually exclusive options. In the ongoing example, this list maycomprise an air mutually exclusive option followed by a hotel mutuallyexclusive option, a car mutually exclusive option, another hotelmutually exclusive option, and another air mutually exclusive option.The form view of this list could show corresponding sets of data-entryfields for each mutually exclusive option in the list, thereby enablingthe user to enter information for each leg of her trip.

The result of a form designer's graphical selection of this repeatingset of mutually exclusive options is set forth in FIG. 9. There, theform-design area 700 shows a graphical selection of three options placedwithin option area 902 of repeating container 904 (labeled “RepeatingChoice Group”). These options are an air travel mutually exclusiveoption 906, a car travel mutually exclusive option 908, and a hotelmutually exclusive option 910. Each of these mutually exclusive optionsmay be represented by data-entry fields mirroring how they will look toa user editing the electronic form or with other graphics or icons.

Conclusion

The above-described systems and methods enable creation and/or use of anelectronic form capable of allowing a user to select from mutuallyexclusive options without the electronic form being in an invalid state.Although the invention has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the invention defined in the appended claims is not necessarilylimited to the specific features or acts described. Rather, the specificfeatures and acts are disclosed as exemplary forms of implementing theclaimed invention.

1. One or more computer-readable media having computer-readableinstructions therein that, when executed by a computer, cause thecomputer to enable a user to select from mutually exclusive options inan electronic form, and responsive to a selection by the user of one ofthe mutually exclusive options, enable interaction with the selectedmutually exclusive option while maintaining the electronic form'svalidity to a schema governing the electronic form.
 2. Thecomputer-readable media of claim 1, wherein the act of enableinteraction comprises enable entry of information into the selectedmutually exclusive option.
 3. The computer-readable media of claim 1,wherein the mutually exclusive options are governed by the schema. 4.The computer-readable media of claim 1, wherein each of the mutuallyexclusive options corresponds one-to-one with a data substructurecapable of being swapped one with the other in a data structure of theelectronic form.
 5. The computer-readable media of claim 1, wherein theelectronic form comprises eXtensible Markup Language (XML).
 6. Thecomputer-readable media of claim 1, wherein the media further causes thecomputer to swap, responsive to the selection, a data substructurepresent in a data structure of the electronic form with a datasubstructure corresponding to the selected mutually exclusive option. 7.The computer-readable media of claim 6, wherein the swap is an atomicoperation.
 8. A system embodying the computer-readable media of claim 1.9. A method comprising: enabling selection of two or more mutuallyexclusive options; receiving selection of two of the mutually exclusiveoptions; and building the selected mutually exclusive options for anelectronic form effective to enable the electronic form to permit entryto one of the selected mutually exclusive options without the electronicform transitioning through an invalid state.
 10. The method of claim 9,wherein the building is further effective to enable the electronic formto swap, in a data structure of the electronic form, data substructurescorresponding to the mutually exclusive options.
 11. The method of claim10, wherein the swap is an atomic operation.
 12. The method of claim 9,wherein the building is further effective to enable the electronic formto permit entry to a data substructure corresponding to the selectedmutually exclusive option.
 13. The method of claim 9, wherein each ofthe mutually exclusive options maps one-to-one with a data substructureand the building is effective to enable the electronic form's datastructure to comprise only one of the data substructures at a time. 14.The method of claim 9, wherein the act of building comprises addingeXtensible Markup Language (XML) to a schema governing the electronicform.
 15. A system comprising means for performing the method recited inclaim
 9. 16. One or more computer-readable media havingcomputer-readable instructions for performing the method recited inclaim
 9. 17. A user interface comprising: a form-design area to displaya mutually exclusive option container; an option area within themutually exclusive option container to display selected mutuallyexclusive options; and an interface to enable a designer to select themutually exclusive option container to be placed in the form-design areaand the mutually exclusive options to be placed in the option area. 18.The user interface of claim 17, wherein the interface enables thedesigner to select the mutually exclusive options by dragging graphicsrepresenting the mutually exclusive options and dropping them into theoption area.
 19. The user interface of claim 17, wherein the interfaceenables the designer to select the mutually exclusive options bydragging icons representing the mutually exclusive options and droppingthem into the option area.
 20. The user interface of claim 17, whereinthe interface enables the designer to select the mutually exclusiveoption container by dragging a graphic representing the mutuallyexclusive option container and dropping it in the form-design area. 21.The user interface of claim 17, wherein the form-design area is todisplay a repeating mutually exclusive option container.
 22. The userinterface of claim 21, wherein the interface enables the designer toselect the repeating mutually exclusive option container by dragging agraphic representing the repeating mutually exclusive option containerand dropping it in the form-design area.
 23. A system embodying the userinterface of claim
 17. 24. A method comprising: presenting to a user anelectronic form having mutually exclusive options; enabling selection ofone of the mutually exclusive options; receiving the selection; andenabling the user to enter information into the selected mutuallyexclusive option while the electronic form is valid to a schemagoverning the electronic form.
 25. The method of claim 24, wherein theact of presenting comprises presenting data-entry field(s) for entryinto one of the mutually exclusive options, and further comprising,responsive to receiving the selection, replacing the presenteddata-entry field(s) with other data-entry field(s) corresponding to theselected mutually exclusive option.
 26. The method of claim 25, furthercomprising swapping a data substructure of the mutually exclusive optioncorresponding to the presented data-entry fields with another datasubstructure corresponding to the selected mutually exclusive option,the swapping effective to enable the act of replacing.
 27. The method ofclaim 26, wherein the act of swapping the data substructure is an atomicoperation.
 28. The method of claim 24, wherein the act of presentingcomprises transforming, with an eXtensible Stylesheet LanguageTransformation (XSLT) a data structure corresponding to the electronicform that comprises eXtensible Markup Language.
 29. The method of claim24, wherein the act of enabling selection comprises presenting menuoptions to the user, the menu options describing an operation ofswapping one mutually exclusive option with another.
 30. The method ofclaim 24, wherein the act of enabling the user to enter informationcomprises swapping a data substructure that maps one-to-one with theselected mutually exclusive option for another data substructure of theelectronic form's data structure.
 31. The method of claim 30, whereinthe act of swapping is an atomic operation.
 32. The method of claim 24,wherein a data substructure corresponding to the selected mutuallyexclusive option is present in a data structure of the electronic formbut no other data substructures corresponding to unselected mutuallyexclusive options are present in the data structure.
 33. A systemcomprising means for performing the method recited in claim
 24. 34. Oneor more computer-readable media having computer-readable instructionsfor performing the method recited in claim
 24. 35. A method comprising:presenting to a user an electronic form having repeating sets ofmutually exclusive options; enabling selection of one of the mutuallyexclusive options for each of the repeating sets; and enabling the user,responsive to receiving selections of mutually exclusive options, toenter information into the selected mutually exclusive option for eachof the repeating sets while the electronic form is valid to a schemagoverning the electronic form.
 36. The method of claim 35, wherein therepeating sets have an arbitrary number of sets.
 37. The method of claim36, wherein the arbitrary number of sets is determined, responsive toreceiving the selections, based on a number of selections received. 38.A system comprising means for performing the method recited in claim 35.39. One or more computer-readable media having computer-readableinstructions for performing the method recited in claim 35.